package com.lagou.client;

import org.I0Itec.zkclient.IZkChildListener;
import org.I0Itec.zkclient.ZkClient;

import java.util.List;

public class GetChildrenData {


    public static void main(String[] args) throws InterruptedException {
        ZkClient zkClient = new ZkClient("127.0.0.1:2181");
        System.out.println("会话被创建");

        List<String> children = zkClient.getChildren("/zkClient");
        System.out.println("/zkClient的子节点：" + children);

        zkClient.subscribeChildChanges("/zkClient_get", new IZkChildListener() {
            /**
             * 客户端可以对⼀个不存在的节点进⾏⼦节点变更的监听
             * ⼀旦客户端对⼀个节点注册了⼦节点列表变更监听之后，那么当该节点的⼦节点列表发⽣变更时，服务
             * 端都会通知客户端，并将最新的⼦节点列表发送给客户端
             * 该节点本身的创建或删除也会通知到客户端
             * @param s
             * @param list
             * @throws Exception
             */
            @Override
            public void handleChildChange(String s, List<String> list) throws Exception {
                System.out.println("parentPath:" + s + "的子节点列表为："  + list);
            }
        });

        Thread.sleep(Integer.MAX_VALUE);
    }

}
